home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / languages / obrn-a_1.5_up3.lha / src_upd3.lha / source / ol / OLPrefsStrings.mod < prev    next >
Encoding:
Text File  |  1995-03-13  |  3.6 KB  |  114 lines

  1. <* STANDARD- *> <* MAIN- *> <* INITIALISE- *>
  2.  
  3. MODULE OLPrefsStrings;
  4. (****************************************************************
  5.  
  6.    This file was created automatically by `FlexCat 1.5'
  7.    Do NOT edit by hand!
  8.    Oberon-A source description C 1994 by Albert Weinert
  9.    Using with Oberon-A Interfaces for AmigaOS Release 3.1
  10.    Modified for Oberon-A 1.5 by Frank Copeland
  11.  
  12.    Application: OLPrefsStrings
  13.    Language   : "english"
  14.    Version    : 1
  15.    Description: OBERON-A:Catalogs/OLPrefsStrings.cd
  16.  
  17. ****************************************************************)
  18.  
  19. IMPORT
  20.   lo := Locale, e := Exec, u := Utility, y := SYSTEM;
  21.  
  22. CONST
  23.   builtinlanguage = "english";
  24.   version = 1;
  25.  
  26. CONST
  27.   msg1* = 0;
  28.   msg2* = 1;
  29.   msg3* = 2;
  30.   msg4* = 3;
  31.   msg5* = 4;
  32.   msg6* = 5;
  33.   msg7* = 6;
  34.   msg8* = 7;
  35.   msg9* = 8;
  36.   msg10* = 9;
  37.   msg11* = 10;
  38.   msg12* = 11;
  39.  
  40. TYPE
  41.   AppString = RECORD;
  42.      id  : LONGINT;
  43.      str : e.LSTRPTR;
  44.   END;
  45.   AppStringArray = ARRAY 12 OF AppString;
  46.  
  47. VAR
  48.   AppStrings : AppStringArray;
  49.   catalog : lo.CatalogPtr;
  50.  
  51.   PROCEDURE SetStrings;
  52.     BEGIN
  53.       AppStrings[0].id := msg1; AppStrings[0].str := y.ADR( " !! Arguments ALINK, BLINK and DLINK are mutually exclusive\n" );
  54.       AppStrings[1].id := msg2; AppStrings[1].str := y.ADR( " !! Arguments VERBOSE and QUIET are mutually exclusive\n" );
  55.       AppStrings[2].id := msg3; AppStrings[2].str := y.ADR( " !! Arguments MAKEICONS and NOICONS are mutually exclusive\n" );
  56.       AppStrings[3].id := msg4; AppStrings[3].str := y.ADR( " !! Arguments SCAN and NOSCAN are mutually exclusive\n" );
  57.       AppStrings[4].id := msg5; AppStrings[4].str := y.ADR( " !! Arguments LINK and NOLINK are mutually exclusive\n" );
  58.       AppStrings[5].id := msg6; AppStrings[5].str := y.ADR( "Preferences file: " );
  59.       AppStrings[6].id := msg7; AppStrings[6].str := y.ADR( "See OLPrefs.doc for conditions of use\n" );
  60.       AppStrings[7].id := msg8; AppStrings[7].str := y.ADR( " !! Settings saved to '%s'\n" );
  61.       AppStrings[8].id := msg9; AppStrings[8].str := y.ADR( " !! Could not create '%s'\n" );
  62.       AppStrings[9].id := msg10; AppStrings[9].str := y.ADR( " !! Could not create icon for '%s'\n" );
  63.       AppStrings[10].id := msg11; AppStrings[10].str := y.ADR( " !! Could not obtain icon\n" );
  64.       AppStrings[11].id := msg12; AppStrings[11].str := y.ADR( " !! Too many arguments: select only one prefs file\n" );
  65.     END SetStrings;
  66.  
  67.   PROCEDURE CloseCatalog*();
  68.     BEGIN
  69.       IF catalog # NIL THEN lo.CloseCatalog (catalog); catalog:=NIL END;
  70.    END CloseCatalog;
  71.  
  72.   PROCEDURE OpenCatalog*(loc:lo.LocalePtr; language:ARRAY OF CHAR);
  73.     VAR Tag : ARRAY 4 OF u.TagItem;
  74.     BEGIN
  75.       CloseCatalog();
  76.       IF (catalog = NIL) & (lo.base # NIL) THEN
  77.         Tag[0].tag := lo.builtInLanguage; Tag[0].data := y.ADR( builtinlanguage );
  78.         Tag[1].tag := u.ignore;           Tag[1].data := y.ADR( language );
  79.         Tag[2].tag := lo.version;         Tag[2].data := version;
  80.         Tag[3].tag := u.done;
  81.  
  82.         IF language # "" THEN
  83.           Tag[1].tag:= lo.language;
  84.         END;
  85.         catalog := lo.OpenCatalogA (loc, "OLPrefsStrings.catalog", Tag);
  86.       END;
  87.     END OpenCatalog;
  88.  
  89.   PROCEDURE GetString* (num: LONGINT): e.LSTRPTR;
  90.     VAR
  91.       i: LONGINT;
  92.       default: e.LSTRPTR;
  93.     BEGIN
  94.       i := 0; WHILE (i < 12) & (AppStrings[i].id # num) DO INC (i) END;
  95.  
  96.       IF i # 12 THEN
  97.         default := AppStrings[i].str;
  98.       ELSE
  99.         default := NIL;
  100.       END;
  101.  
  102.       IF catalog # NIL THEN
  103.         RETURN lo.GetCatalogStr (catalog, num, default^);
  104.       ELSE
  105.         RETURN default;
  106.       END;
  107.     END GetString;
  108.  
  109. BEGIN
  110.   catalog := NIL;
  111.   SetStrings;
  112. END OLPrefsStrings.
  113.  
  114.